"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/3/4 8:25
@Description : 
设计一个基类Employee，包含以下内容：
一个初始化方法，接受员工的姓名和职位。
一个work()抽象方法
一个rest()抽象方法
定义两个派生类Engineer和Manager，分别实现它们的工作和休息信息：
Engineer的工作内容为“工程师正在写代码...”，休息信息为“工程师正在喝咖啡...”。
Manager的工作内容为“经理正在开会...”，休息信息为“经理正在打高尔夫...”。
要求：
测试代码中创建Engineer和Manager对象，并通过多态调用work()和rest()方法
"""

from abc import ABC, abstractmethod
class Employee(ABC):
    emp_name = None
    job = None

    def __init__(self, emp_name, job):
        self.emp_name = emp_name
        self.job = job

    @abstractmethod
    def work(self):
        pass

    @abstractmethod
    def rest(self):
        pass

class Engineer(Employee):

    def work(self):
        print(f'名字为{self.emp_name}的{self.job}工程师正在写代码...')


    def rest(self):
        print(f'名字为{self.emp_name}的{self.job}工程师正在喝咖啡...')

class Manager(Employee):

    # def work(self):
    #     print(f'工作是{self.job}名字为{self.emp_name}的经理正在开会...')
    #
    #
    # def rest(self):
    #     print(f'工作是{self.job}名字为{self.emp_name}的经理正在打高尔夫...')
    pass

# emp:Employee = Engineer(emp_name='tom', job='python')
emp:Employee = Manager(emp_name='tom', job='总经理')
emp.work()
emp.rest()

print('----------资源释放------------')